Brightness Temperature (BT) is the temperature a blackbody would have to emit the same
thermal radiance measured by the sensor in the thermal infrared band. It is expressed
in Kelvin or degrees Celsius and is a key variable for land surface temperature analysis.
درجة السطوع الحرارية: هي درجة حرارة الجسم الأسود المكافئ للإشعاع الحراري المرصود
في الحزم الحرارية (TIR)، وتُستخدم كنقطة انطلاق لحساب درجة حرارة سطح الأرض (LST).
1. Scientific Definition
Brightness Temperature (BT) is derived from the at-sensor spectral
radiance in a thermal band using the inverse Planck function. It assumes that the
surface behaves as an ideal blackbody (emissivity = 1), so BT is not yet the true
land surface temperature but a first approximation.
3. Google Earth Engine Code – BT from Landsat 8 Band 10
// BT – Brightness Temperature from Landsat 8 TIR Band 10
// Dataset: LANDSAT/LC08/C02/T1_TOA (thermal band as radiance)
// BT(K) = K2 / ln(K1 / Lλ + 1)
// BT(°C) = BT(K) - 273.15
var roi = geometry; // Draw AOI as 'geometry' in the editor
Map.centerObject(roi, 10);
// 1. Load a relatively clear Landsat 8 scene
var l8 = ee.ImageCollection("LANDSAT/LC08/C02/T1_TOA")
.filterBounds(roi)
.filterDate("2023-06-01", "2023-09-30") // choose period
.filter(ee.Filter.lt("CLOUD_COVER", 20))
.sort("CLOUD_COVER"); // best (least cloud) first
var img = ee.Image(l8.first()).clip(roi);
// 2. Get thermal band (radiance) and calibration constants from metadata
var L = img.select("B10"); // Thermal Infrared 1 radiance
// K1 and K2 are stored in image properties (metadata)
var K1 = ee.Number(img.get("K1_CONSTANT_BAND_10"));
var K2 = ee.Number(img.get("K2_CONSTANT_BAND_10"));
// 3. Compute Brightness Temperature (Kelvin)
var btK = L.expression(
"K2 / log(K1 / L + 1)",
{
"K1": K1,
"K2": K2,
"L" : L
}
).rename("BT_K");
// 4. Convert to Celsius
var btC = btK.subtract(273.15).rename("BT_C");
// 5. Visualization
var visBT = {
min: 15, // °C
max: 45, // °C (adjust to your area)
palette: ["#020617","#0f172a","#1d4ed8","#22c55e","#eab308","#f97316","#b91c1c"]
};
Map.addLayer(btC, visBT, "Brightness Temperature (°C)");
// Optional: mask hot spots above a threshold, e.g. > 35 °C
var hot = btC.gt(35).selfMask();
Map.addLayer(
hot,
{palette:["#b91c1c"]},
"Hot spots (> 35 °C)",
false
);
// 6. Export BT map
Export.image.toDrive({
image: btC,
description: "BT_L8_B10_Celsius",
fileNamePrefix: "BT_L8_B10_C",
region: roi,
scale: 30,
crs: "EPSG:4326",
maxPixels: 1e13
});